<!doctype html>
<html lang="en" data-color-mode="dark">
<head>
<meta charset="utf-8">
<title>Android Debug Bridge 备忘清单
 &#x26;  adb cheatsheet &#x26;  Quick Reference</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta description="ADB 既 Android Debug Bridge，是 Google 的 Android SDK 中的一个命令行工具，可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 ADB 一起使用的一些最常见的命令及其用法

入门，为开发人员分享快速参考备忘单。">
<meta keywords="adb,reference,Quick,Reference,cheatsheet,cheat,sheet">
<link rel="icon" href="data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%221em%22%20width%3D%221em%22%3E%20%3Cpath%20d%3D%22m21.66%2010.44-.98%204.18c-.84%203.61-2.5%205.07-5.62%204.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2%201.17-2.42%203.16-3.07%206.5-2.28l1.67.39c4.19.98%205.47%203.05%204.49%207.23Z%22%20fill%3D%22%23c9d1d9%22%2F%3E%20%3Cpath%20d%3D%22M15.06%2019.39c-.62.42-1.4.77-2.35%201.08l-1.58.52c-3.97%201.28-6.06.21-7.35-3.76L2.5%2013.28c-1.28-3.97-.22-6.07%203.75-7.35l1.58-.52c.41-.13.8-.24%201.17-.31-.3.61-.54%201.35-.74%202.2l-.98%204.19c-.98%204.18.31%206.24%204.48%207.23l1.68.4c.58.14%201.12.23%201.62.27Zm2.43-8.88c-.06%200-.12-.01-.19-.02l-4.85-1.23a.75.75%200%200%201%20.37-1.45l4.85%201.23a.748.748%200%200%201-.18%201.47Z%22%20fill%3D%22%23228e6c%22%20%2F%3E%20%3Cpath%20d%3D%22M14.56%2013.89c-.06%200-.12-.01-.19-.02l-2.91-.74a.75.75%200%200%201%20.37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z%22%20fill%3D%22%23228e6c%22%20%2F%3E%20%3C%2Fsvg%3E" type="image/svg+xml">
<link rel="stylesheet" href="../style/style.css">
<link rel="stylesheet" href="../style/katex.css">
</head>
<body><nav class="header-nav"><div class="max-container"><a href="../index.html" class="logo"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
  <path d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="#c9d1d9"></path>
  <path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="#228e6c"></path>
  <path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="#228e6c"></path>
</svg>
<span class="title">Quick Reference</span></a><div class="menu"><a href="javascript:void(0);" class="searchbtn" id="searchbtn"><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
  <path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><span>搜索</span><span>⌘K</span></a><a href="https://github.com/jaywcjlove/reference/blob/main/docs/adb.md" class="" target="__blank"><svg viewBox="0 0 36 36" fill="currentColor" height="1em" width="1em"><path d="m33 6.4-3.7-3.7a1.71 1.71 0 0 0-2.36 0L23.65 6H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V11.76l3-3a1.67 1.67 0 0 0 0-2.36ZM18.83 20.13l-4.19.93 1-4.15 9.55-9.57 3.23 3.23ZM29.5 9.43 26.27 6.2l1.85-1.85 3.23 3.23Z"></path><path fill="none" d="M0 0h36v36H0z"></path></svg><span>编辑</span></a><button id="darkMode" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="light" height="1em" width="1em">
  <path d="M6.995 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007-2.246-5.007-5.007-5.007S6.995 9.239 6.995 12zM11 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2H2zm17 0h3v2h-3zM5.637 19.778l-1.414-1.414 2.121-2.121 1.414 1.414zM16.242 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.344 7.759 4.223 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="dark" height="1em" width="1em">
  <path d="M12 11.807A9.002 9.002 0 0 1 10.049 2a9.942 9.942 0 0 0-5.12 2.735c-3.905 3.905-3.905 10.237 0 14.142 3.906 3.906 10.237 3.905 14.143 0a9.946 9.946 0 0 0 2.735-5.119A9.003 9.003 0 0 1 12 11.807z"></path>
</svg>
</button><script src="../js/dark.js?v=1.5.2"></script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap h1body-exist max-container"><header class="wrap-header h1wrap"><h1 id="android-debug-bridge-备忘清单"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
  <path d="m10.213 1.471.691-1.26c.046-.083.03-.147-.048-.192-.085-.038-.15-.019-.195.058l-.7 1.27A4.832 4.832 0 0 0 8.005.941c-.688 0-1.34.135-1.956.404l-.7-1.27C5.303 0 5.239-.018 5.154.02c-.078.046-.094.11-.049.193l.691 1.259a4.25 4.25 0 0 0-1.673 1.476A3.697 3.697 0 0 0 3.5 5.02h9c0-.75-.208-1.44-.623-2.072a4.266 4.266 0 0 0-1.664-1.476ZM6.22 3.303a.367.367 0 0 1-.267.11.35.35 0 0 1-.263-.11.366.366 0 0 1-.107-.264.37.37 0 0 1 .107-.265.351.351 0 0 1 .263-.11c.103 0 .193.037.267.11a.36.36 0 0 1 .112.265.36.36 0 0 1-.112.264Zm4.101 0a.351.351 0 0 1-.262.11.366.366 0 0 1-.268-.11.358.358 0 0 1-.112-.264c0-.103.037-.191.112-.265a.367.367 0 0 1 .268-.11c.104 0 .19.037.262.11a.367.367 0 0 1 .107.265c0 .102-.035.19-.107.264ZM3.5 11.77c0 .294.104.544.311.75.208.204.46.307.76.307h.758l.01 2.182c0 .276.097.51.292.703a.961.961 0 0 0 .7.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h1.343v2.182c0 .276.097.51.292.703a.972.972 0 0 0 .71.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h.76c.291 0 .54-.103.749-.308.207-.205.311-.455.311-.75V5.365h-9v6.404Zm10.495-6.587a.983.983 0 0 0-.702.278.91.91 0 0 0-.293.685v4.063c0 .271.098.501.293.69a.97.97 0 0 0 .702.284c.28 0 .517-.095.712-.284a.924.924 0 0 0 .293-.69V6.146a.91.91 0 0 0-.293-.685.995.995 0 0 0-.712-.278Zm-12.702.283a.985.985 0 0 1 .712-.283c.273 0 .507.094.702.283a.913.913 0 0 1 .293.68v4.063a.932.932 0 0 1-.288.69.97.97 0 0 1-.707.284.986.986 0 0 1-.712-.284.924.924 0 0 1-.293-.69V6.146c0-.264.098-.491.293-.68Z"></path>
</svg>
<a aria-hidden="true" tabindex="-1" href="#android-debug-bridge-备忘清单"><span class="icon icon-link"></span></a>Android Debug Bridge 备忘清单</h1><div class="wrap-body">
<p><a href="https://developer.android.com/studio/command-line/adb.html">ADB</a> 既 Android Debug Bridge，是 Google 的 Android SDK 中的一个命令行工具，可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 <a href="https://developer.android.com/studio/command-line/adb.html">ADB</a> 一起使用的一些最常见的命令及其用法</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
  <path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#设备基础">设备基础</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#示例">示例</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#logcat">Logcat</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#示例-1">示例</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#过滤日志输出">过滤日志输出</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#文件管理">文件管理</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#示例-2">示例</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#远程-shell">远程 Shell</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#包安装">包安装</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#paths">Paths</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#手机信息">手机信息</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#包信息">包信息</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#设备相关命令">设备相关命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#权限">权限</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#logs">Logs</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#常见的-adb-命令">常见的 ADB 命令</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#将文件推送到-android-设备的下载文件夹">将文件推送到 Android 设备的下载文件夹</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#列出所有已安装的包并获取完整路径">列出所有已安装的包并获取完整路径</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#从安卓设备中提取文件">从安卓设备中提取文件</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#从主机安装-apk-到-android-设备">从主机安装 APK 到 Android 设备</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#从-android-设备存储安装-apk">从 Android 设备存储安装 APK</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#设置网络代理">设置网络代理</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#禁用网络代理">禁用网络代理</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#显示连接的设备并指定一个设备进行-shell">显示连接的设备并指定一个设备进行 Shell</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#通过-ip-地址连接到设备">通过 IP 地址连接到设备</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#通过-wi-fi-连接-adb">通过 Wi-Fi 连接 ADB</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#将计算机上的-apk-文件安装到设备">将计算机上的 APK 文件安装到设备</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#查找应用的-apk-路径">查找应用的 APK 路径</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#通过名称查找应用的包名">通过名称查找应用的包名</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#从设备提取-apk-到您的计算机">从设备提取 APK 到您的计算机</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#将文件从计算机复制到设备">将文件从计算机复制到设备</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#滚动屏幕">滚动屏幕</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#发文本">发文本</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#发送按键事件">发送按键事件</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#发送点击">发送点击</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#查看包的日志">查看包的日志</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="设备基础"><a aria-hidden="true" tabindex="-1" href="#设备基础"><span class="icon icon-link"></span></a>设备基础</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->

























































<table class="left-align code-nowrap"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb devices</code></td><td>列出已连接的设备</td></tr><tr><td align="left"><code>adb devices -l</code></td><td>列出已连接的设备和种类</td></tr><tr><td align="left"><code>adb connect [IP:PORT]</code></td><td>连接到指定 IP 和端口的设备</td></tr><tr><td align="left"><code>adb disconnect [IP:PORT]</code></td><td>断开指定 IP 和端口的设备连接，若未指定，则断开所有连接</td></tr><tr><td align="left"><code>adb root</code></td><td>以 <code>root</code> 权限重新启动 <code>adbd</code></td></tr><tr><td align="left"><code>adb start-server</code></td><td>启动 <code>adb</code> 服务</td></tr><tr><td align="left"><code>adb kill-server</code></td><td>停止 <code>adb</code> 服务</td></tr><tr><td align="left"><code>adb remount</code></td><td>重新挂载具有读/写访问权限的文件系统</td></tr><tr><td align="left"><code>adb reboot</code></td><td>重启设备</td></tr><tr><td align="left"><code>adb reboot bootloader</code></td><td>将设备重启到 fastboot 模式</td></tr><tr><td align="left"><code>adb reboot recovery</code></td><td>将设备重启到恢复模式</td></tr><tr><td align="left"><code>adb disable-verity</code></td><td>禁用设备的 dm-verity 安全特性</td></tr></tbody></table>
<!--rehype:className=left-align code-nowrap-->
<hr>
<ul>
<li><code>wait-for-device</code> 可以在 <code>adb</code> 之后指定，以确保该命令在设备连接后运行</li>
<li><code>-s</code> 可用于在多个连接时将命令发送到特定设备</li>
</ul>
<h4 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h4>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb wait-for-device devices
</span><span class="code-line"> List of devices attached
</span><span class="code-line"> somedevice-1234 device
</span><span class="code-line"> someotherdevice-1234 device
</span></code></pre>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb <span class="token parameter variable">-s</span> somedevice-1234 root
</span></code></pre>
</div></div></div><div class="wrap h3body-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="logcat"><a aria-hidden="true" tabindex="-1" href="#logcat"><span class="icon icon-link"></span></a>Logcat</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->

































<table class="left-align code-nowrap"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb logcat</code></td><td>将日志消息打印到标准输出</td></tr><tr><td align="left"><code>adb logcat -g</code></td><td>显示当前日志缓冲区大小</td></tr><tr><td align="left"><code>adb logcat -G &#x3C;size></code></td><td>设置缓冲区大小（K 或 M）</td></tr><tr><td align="left"><code>adb logcat -c</code></td><td>清除日志缓冲区</td></tr><tr><td align="left"><code>adb logcat *:V</code></td><td>启用所有日志消息（详细）</td></tr><tr><td align="left"><code>adb logcat -f &#x3C;filename></code></td><td>将日志转储到指定文件</td></tr></tbody></table>
<!--rehype:className=left-align code-nowrap-->
<h4 id="示例-1"><a aria-hidden="true" tabindex="-1" href="#示例-1"><span class="icon icon-link"></span></a>示例</h4>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb logcat <span class="token parameter variable">-G</span> 16M
</span><span class="code-line">$ adb logcat *:V <span class="token operator">></span> output.log
</span></code></pre>
<h4 id="过滤日志输出"><a aria-hidden="true" tabindex="-1" href="#过滤日志输出"><span class="icon icon-link"></span></a>过滤日志输出</h4>
<ul class="cols-2 shortcuts style-none">
<li><code>V</code> 最详细的信息(最低优先级)</li>
<li><code>D</code> 调试信息</li>
<li><code>I</code> 普通信息</li>
<li><code>W</code> 警告信息</li>
<li><code>E</code> 错误信息</li>
<li><code>F</code> 致命错误信息</li>
<li><code>S</code> 静默(最高优先级)</li>
</ul>
<!--rehype:className=cols-2 shortcuts style-none-->
<p>例如，要显示优先级不低于 <code>警告</code> 的所有标记的所有日志消息，可以使用以下命令：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb logcat *:W
</span></code></pre>
</div></div></div><div class="wrap h3body-exist"><div class="wrap-header h3wrap"><h3 id="文件管理"><a aria-hidden="true" tabindex="-1" href="#文件管理"><span class="icon icon-link"></span></a>文件管理</h3><div class="wrap-body">

















<table class="left-align code-nowrap"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb push &#x3C;local> &#x3C;remote></code></td><td>将本地文件复制到远程设备</td></tr><tr><td align="left"><code>adb pull &#x3C;remote> &#x3C;local></code></td><td>将远程设备文件复制到本地</td></tr></tbody></table>
<!--rehype:className=left-align code-nowrap-->
<h4 id="示例-2"><a aria-hidden="true" tabindex="-1" href="#示例-2"><span class="icon icon-link"></span></a>示例</h4>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ <span class="token builtin class-name">echo</span> <span class="token string">"This is a test"</span> <span class="token operator">></span> test.txt
</span><span class="code-line">$ adb push  test.txt /sdcard/test.txt
</span><span class="code-line">$ adb pull /sdcard/test.txt pulledTest.txt
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="远程-shell"><a aria-hidden="true" tabindex="-1" href="#远程-shell"><span class="icon icon-link"></span></a>远程 Shell</h3><div class="wrap-body">

































<table class="style-list-arrow"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb shell &#x3C;command></code></td><td>在设备上运行指定的命令（大多数 Unix 命令在这里工作）</td></tr><tr><td align="left"><code>adb shell wm size</code></td><td>显示当前屏幕分辨率</td></tr><tr><td align="left"><code>adb shell wm size WxH</code></td><td>将分辨率设置为 WxH</td></tr><tr><td align="left"><code>adb shell pm list packages</code></td><td>列出所有已安装的应用包</td></tr><tr><td align="left"><code>adb shell pm list packages -3</code></td><td>列出所有已安装的第三方的应用包</td></tr><tr><td align="left"><code>adb shell monkey -p app.package.name</code></td><td>启动指定包名的应用程序</td></tr></tbody></table>
<!--rehype:className=style-list-arrow-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="包安装"><a aria-hidden="true" tabindex="-1" href="#包安装"><span class="icon icon-link"></span></a>包安装</h3><div class="wrap-body">

























<table class="left-align code-nowrap"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb shell install &#x3C;apk></code></td><td>安装应用程序</td></tr><tr><td align="left"><code>adb shell install &#x3C;path></code></td><td>从手机路径安装应用</td></tr><tr><td align="left"><code>adb shell install -r &#x3C;path></code></td><td>从手机路径安装应用（允许覆盖安装）</td></tr><tr><td align="left"><code>adb shell uninstall &#x3C;name></code></td><td>卸载应用程序</td></tr></tbody></table>
<!--rehype:className=left-align code-nowrap-->
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="paths"><a aria-hidden="true" tabindex="-1" href="#paths"><span class="icon icon-link"></span></a>Paths</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->









































<table class="style-list-arrow"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>/data/data/&#x3C;package>/databases</code></td><td>应用程序数据库</td></tr><tr><td align="left"><code>/data/data/&#x3C;package>/shared_prefs/</code></td><td>共享偏好设置</td></tr><tr><td align="left"><code>/data/app</code></td><td>用户安装的 APK</td></tr><tr><td align="left"><code>/system/app</code></td><td>系统预装的 APK 文件</td></tr><tr><td align="left"><code>/mmt/asec</code></td><td>加密的应用程序（App2SD）</td></tr><tr><td align="left"><code>/mmt/emmc</code></td><td>内部 SD 卡</td></tr><tr><td align="left"><code>/mmt/adcard</code></td><td>外部/内部 SD 卡</td></tr><tr><td align="left"><code>/mmt/adcard/external_sd</code></td><td>外置 SD 卡</td></tr></tbody></table>
<!--rehype:className=style-list-arrow-->
<hr>





















<table class="left-align code-nowrap"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb shell ls</code></td><td>列出目录内容</td></tr><tr><td align="left"><code>adb shell ls -s</code></td><td>每个文件的打印尺寸</td></tr><tr><td align="left"><code>adb shell ls -R</code></td><td>递归列出子目录</td></tr></tbody></table>
<!--rehype:className=left-align code-nowrap-->
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="手机信息"><a aria-hidden="true" tabindex="-1" href="#手机信息"><span class="icon icon-link"></span></a>手机信息</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->

























































<table class="style-list-arrow"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb get-statе</code></td><td>打印设备状态</td></tr><tr><td align="left"><code>adb get-serialno</code></td><td>获取设备的序列号</td></tr><tr><td align="left"><code>adb shell dumpsys iphonesybinfo</code></td><td>获取设备的 IMEI 信息</td></tr><tr><td align="left"><code>adb shell netstat</code></td><td>列出设备上的所有 TCP 连接</td></tr><tr><td align="left"><code>adb shell pwd</code></td><td>打印当前工作目录</td></tr><tr><td align="left"><code>adb shell dumpsys battery</code></td><td>获取设备电池状态</td></tr><tr><td align="left"><code>adb shell pm list features</code></td><td>列出设备支持的所有功能</td></tr><tr><td align="left"><code>adb shell service list</code></td><td>列出设备上运行的所有服务</td></tr><tr><td align="left"><code>adb shell dumpsys activity &#x3C;package>/&#x3C;activity></code></td><td>获取指定包和活动的信息</td></tr><tr><td align="left"><code>adb shell ps</code></td><td>打印设备上所有运行的进程状态</td></tr><tr><td align="left"><code>adb shell wm size</code></td><td>显示当前设备的屏幕分辨率</td></tr><tr><td align="left"><code>dumpsys window windows</code> | <code>grep -E 'mCurrentFocus|mFocusedApp'</code></td><td>打印当前应用程序的打开活动的信息</td></tr></tbody></table>
<!--rehype:className=style-list-arrow-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="包信息"><a aria-hidden="true" tabindex="-1" href="#包信息"><span class="icon icon-link"></span></a>包信息</h3><div class="wrap-body">









































<table class="style-list-arrow"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb shell list packages</code></td><td>列出包名称</td></tr><tr><td align="left"><code>adb shell list packages -r</code></td><td>列出包名 + apks 的路径</td></tr><tr><td align="left"><code>adb shell list packages -3</code></td><td>列出第三方包名称</td></tr><tr><td align="left"><code>adb shell list packages -s</code></td><td>仅列出系统包</td></tr><tr><td align="left"><code>adb shell list packages -u</code></td><td>列出包名称 + 已卸载</td></tr><tr><td align="left"><code>adb shell dumpsys package packages</code></td><td>列出所有应用程序的信息</td></tr><tr><td align="left"><code>adb shell dump &#x3C;name></code></td><td>列出一个包的信息</td></tr><tr><td align="left"><code>adb shell path &#x3C;package></code></td><td>列出 APK 文件的路径</td></tr></tbody></table>
<!--rehype:className=style-list-arrow-->
</div></div></div><div class="wrap h3body-not-exist col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="设备相关命令"><a aria-hidden="true" tabindex="-1" href="#设备相关命令"><span class="icon icon-link"></span></a>设备相关命令</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2 row-span-2-->

















































<table class="code-nowrap left-align"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb reboot recovery</code></td><td>重启设备进入恢复模式</td></tr><tr><td align="left"><code>adb reboot fastboot</code></td><td>重启设备进入恢复模式</td></tr><tr><td align="left"><code>adb shell screencap -p "/path/to/screenshot.png"</code></td><td>截图</td></tr><tr><td align="left"><code>adb shell screenrecord "/path/to/record.mp4"</code></td><td>录制设备屏幕</td></tr><tr><td align="left"><code>adb backup -apk -all -f backup.ab</code></td><td>备份设置和应用程序</td></tr><tr><td align="left"><code>adb backup -apk -shared -all -f backup.ab</code></td><td>备份设置、应用程序和共享存储</td></tr><tr><td align="left"><code>adb backup -apk -nosystem -all -f backup.ab</code></td><td>仅备份非系统应用程序</td></tr><tr><td align="left"><code>adb restore backup.ab</code></td><td>恢复以前的备份</td></tr><tr><td align="left"><code>adb shell am start -a android.intent.action.VIEW -d URL</code></td><td>打开网址</td></tr><tr><td align="left"><code>adb shell am start -t image/* -a android.intent.action.VIEW</code></td><td>打开画廊</td></tr></tbody></table>
<!--rehype:className=code-nowrap left-align-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="权限"><a aria-hidden="true" tabindex="-1" href="#权限"><span class="icon icon-link"></span></a>权限</h3><div class="wrap-body">

















<table class="style-list-arrow"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb shell permissions groups</code></td><td>列出所有已定义的权限组</td></tr><tr><td align="left"><code>adb shell list permissions -g -r</code></td><td>列出了所有权限的详细信息</td></tr></tbody></table>
<!--rehype:className=style-list-arrow-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="logs"><a aria-hidden="true" tabindex="-1" href="#logs"><span class="icon icon-link"></span></a>Logs</h3><div class="wrap-body">

















<table class="style-list-arrow"><thead><tr><th align="left">:--</th><th>--</th></tr></thead><tbody><tr><td align="left"><code>adb logcat [options] [filter] [filter]</code></td><td>查看设备日志</td></tr><tr><td align="left"><code>adb bugreport</code></td><td>打印错误报告</td></tr></tbody></table>
<!--rehype:className=style-list-arrow-->
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="常见的-adb-命令"><a aria-hidden="true" tabindex="-1" href="#常见的-adb-命令"><span class="icon icon-link"></span></a>常见的 ADB 命令</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="将文件推送到-android-设备的下载文件夹"><a aria-hidden="true" tabindex="-1" href="#将文件推送到-android-设备的下载文件夹"><span class="icon icon-link"></span></a>将文件推送到 Android 设备的下载文件夹</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb push example.apk /sdcard/Download/
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="列出所有已安装的包并获取完整路径"><a aria-hidden="true" tabindex="-1" href="#列出所有已安装的包并获取完整路径"><span class="icon icon-link"></span></a>列出所有已安装的包并获取完整路径</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell pm list packages <span class="token parameter variable">-f</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="从安卓设备中提取文件"><a aria-hidden="true" tabindex="-1" href="#从安卓设备中提取文件"><span class="icon icon-link"></span></a>从安卓设备中提取文件</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb pull /sdcard/Download/example.apk
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="从主机安装-apk-到-android-设备"><a aria-hidden="true" tabindex="-1" href="#从主机安装-apk-到-android-设备"><span class="icon icon-link"></span></a>从主机安装 APK 到 Android 设备</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell <span class="token function">install</span> example.apk
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="从-android-设备存储安装-apk"><a aria-hidden="true" tabindex="-1" href="#从-android-设备存储安装-apk"><span class="icon icon-link"></span></a>从 Android 设备存储安装 APK</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell <span class="token function">install</span> /sdcard/Download/example.apk
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="设置网络代理"><a aria-hidden="true" tabindex="-1" href="#设置网络代理"><span class="icon icon-link"></span></a>设置网络代理</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell settings put global http_proxy <span class="token operator">&#x3C;</span>address<span class="token operator">></span>:<span class="token operator">&#x3C;</span>port<span class="token operator">></span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="禁用网络代理"><a aria-hidden="true" tabindex="-1" href="#禁用网络代理"><span class="icon icon-link"></span></a>禁用网络代理</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell settings put global http_proxy :0
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="显示连接的设备并指定一个设备进行-shell"><a aria-hidden="true" tabindex="-1" href="#显示连接的设备并指定一个设备进行-shell"><span class="icon icon-link"></span></a>显示连接的设备并指定一个设备进行 Shell</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb devices
</span><span class="code-line">$ adb <span class="token parameter variable">-s</span> 7f1c864e shell
</span></code></pre>
<p><code>7f1c864e</code> 是设备 <code>ID</code></p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="通过-ip-地址连接到设备"><a aria-hidden="true" tabindex="-1" href="#通过-ip-地址连接到设备"><span class="icon icon-link"></span></a>通过 IP 地址连接到设备</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb connect <span class="token number">192.168</span>.56.101:5555
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist row-span-5"><div class="wrap-header h3wrap"><h3 id="通过-wi-fi-连接-adb"><a aria-hidden="true" tabindex="-1" href="#通过-wi-fi-连接-adb"><span class="icon icon-link"></span></a>通过 Wi-Fi 连接 ADB</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-5-->
<p>我们可以通过 <code>Wi-Fi</code> 或专门使用 <code>tcp</code> 连接使用 <code>adb</code>。 要通过 <code>Wi-Fi</code> 使用 <code>adb</code>，首先通过 <code>USB</code> 连接手机并启用 <code>USB</code> 调试。然后列出所有设备：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb devices
</span><span class="code-line"><span class="token comment"># 这应该给出这样的输出：</span>
</span><span class="code-line"><span class="token comment"># device_id    device</span>
</span></code></pre>
<p>现在检查 <code>Android</code> 设备的 <code>IP</code>：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell <span class="token function">ifconfig</span>
</span><span class="code-line"><span class="token comment"># 输出:</span>
</span><span class="code-line">
</span><span class="code-line">wlan0  Link encap:UNSPEC    Driver icnss
</span><span class="code-line">       inet addr:XXX.XXX.X.XX  Bcast:XXX.XXX.X.XXX
</span></code></pre>
<p>记下 <code>inet addr</code> 后的 <code>IP</code> 地址。稍后要用。现在在某个端口重新启动 <code>tcpip</code>：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb tcpip <span class="token variable">$port</span>
</span></code></pre>
<p>例如 5555：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb tcpip <span class="token number">5555</span>
</span></code></pre>
<p>您现在可以断开 USB 线缆使用。 若要连接到设备请键入以下命令：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb connect <span class="token variable">$ip</span><span class="token builtin class-name">:</span><span class="token variable">$port</span>
</span></code></pre>
<p>例如:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb connect <span class="token number">192.168</span>.1.4:5555
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="将计算机上的-apk-文件安装到设备"><a aria-hidden="true" tabindex="-1" href="#将计算机上的-apk-文件安装到设备"><span class="icon icon-link"></span></a>将计算机上的 APK 文件安装到设备</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb <span class="token function">install</span> /Users/dev/projects/myapp.apk
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="查找应用的-apk-路径"><a aria-hidden="true" tabindex="-1" href="#查找应用的-apk-路径"><span class="icon icon-link"></span></a>查找应用的 APK 路径</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell pm path com.example.myapp
</span></code></pre>
<p>将 <code>com.example.myapp</code> 替换为您自己的应用程序包名称</p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="通过名称查找应用的包名"><a aria-hidden="true" tabindex="-1" href="#通过名称查找应用的包名"><span class="icon icon-link"></span></a>通过名称查找应用的包名</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell pm list package <span class="token operator">|</span> <span class="token function">grep</span> app_name
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="从设备提取-apk-到您的计算机"><a aria-hidden="true" tabindex="-1" href="#从设备提取-apk-到您的计算机"><span class="icon icon-link"></span></a>从设备提取 APK 到您的计算机</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb pull /data/app/com.example.myapp.apk ./
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="将文件从计算机复制到设备"><a aria-hidden="true" tabindex="-1" href="#将文件从计算机复制到设备"><span class="icon icon-link"></span></a>将文件从计算机复制到设备</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb push path/to/local/file /sdcard/foo.txt
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="滚动屏幕"><a aria-hidden="true" tabindex="-1" href="#滚动屏幕"><span class="icon icon-link"></span></a>滚动屏幕</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell input swipe <span class="token number">300</span> <span class="token number">300</span> <span class="token number">500</span> <span class="token number">1000</span> <span class="token comment"># 上</span>
</span><span class="code-line">$ adb shell input swipe <span class="token number">500</span> <span class="token number">1000</span> <span class="token number">300</span> <span class="token number">300</span> <span class="token comment"># 下</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="发文本"><a aria-hidden="true" tabindex="-1" href="#发文本"><span class="icon icon-link"></span></a>发文本</h3><div class="wrap-body">
<p>使用虚拟键盘发送文本：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell input text <span class="token string">"Hello World"</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="发送按键事件"><a aria-hidden="true" tabindex="-1" href="#发送按键事件"><span class="icon icon-link"></span></a>发送按键事件</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell input keyevent <span class="token number">66</span>
</span><span class="code-line"><span class="token comment"># 66 是回车键码</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="发送点击"><a aria-hidden="true" tabindex="-1" href="#发送点击"><span class="icon icon-link"></span></a>发送点击</h3><div class="wrap-body">
<p>点击屏幕：</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell input tap x y
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="查看包的日志"><a aria-hidden="true" tabindex="-1" href="#查看包的日志"><span class="icon icon-link"></span></a>查看包的日志</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ adb shell <span class="token string">'logcat --pid=$(pidof -s &#x3C;package_name>)'</span>
</span></code></pre>
<p>查看特定包的日志</p>
</div></div></div></div></div></div><script src="https://giscus.app/client.js" data-repo="jaywcjlove/reference" data-repo-id="R_kgDOID2-Mw" data-category="Q&#x26;A" data-category-id="DIC_kwDOID2-M84CS5wo" data-mapping="pathname" data-strict="0" data-reactions-enabled="1" data-emit-metadata="0" data-input-position="bottom" data-theme="dark" data-lang="zh-CN" crossorigin="anonymous" async></script><div class="giscus"></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang.</footer></footer><script src="../data.js?v=1.5.2" defer></script><script src="../js/fuse.min.js?v=1.5.2" defer></script><script src="../js/main.js?v=1.5.2" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
  <path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><input id="mysearch-input" type="search" placeholder="搜索" autocomplete="off"><div class="mysearch-clear"></div></div><button id="mysearch-close" type="button">搜索</button></div><div class="mysearch-result"><div id="mysearch-menu"></div><div id="mysearch-content"></div></div></div></div></body>
</html>
